A touch panel utilizes a sensing array to detect a position and strength of a touch done by a finger, stylus or the like. FIG. 1 is a schematic diagram showing a general touch sensing apparatus 1 (e.g. a touch panel) having a sensing array 10. The sensing array 10 comprises a group of longitudinal conductive traces and a group of lateral conductive traces arranged as columns and rows of X-Y coordinates or arranged as polar coordinates, and a number of sensing elements (not shown) provided at the respective intersections. The sensing elements are usually implemented by resistors or capacitors, for example. A control unit 12 sends a driving signal to drive a row i of the sensing array 10 through a multiplexer 16. A sensing signal of the respective columns j of the driven row i are sequentially or simultaneously detected by the control unit 12 to determine the touch position and strength via a multiplexer 14. By checking values of the sensing signals, the touch position and strength can be known. For example, assuming a row has 16 nodes (i.e. 16 columns are intersected with each row), if the signal values of the sensing signal for the 16 nodes for a specific row are (0, 0, 0, 1, 2, 3, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0), it means the seventh node gets a stronger touch. However, the sensing elements are sensitive to noises. Therefore, the values of the sensing signals are easily influenced so that it is difficult to accurately distinguish the touch position and determine the touch strength.
Nowadays, touch sensing apparatuses such as touch panels have been widely used in various applications and get involved in many complicated functional operations such as wireless communication. Therefore, the touch panels may be interferences by various noises such as 1/f noise, white noise, power noise, 50/60 Hz noise, microwave (e.g. infrared, blue tooth etc.) noise, backlight noise or the like. The various noises are dispersed in different frequency bands. FIG. 2 shows the various noises and the how a signal is coupled with the noises. The upper diagram shows the distribution of the various noises such as 1/f noise 23, 60 Hz noise 25, local noises 27 and white Gaussian noise 29. The DC signal is indicated by a black arrow 21. The middle diagram shows an ideal sensing signal. The lower diagram shows a noise-coupled sensing signal. Generally, high frequency noises can be filtered off by using a low pass filter. However, if we attempt to filter off the noises of lower frequency bands by using a low pass filter with a low cut off frequency to extract DC term (i.e. the required signal), response time of the filter is slow. For example, if a cut off frequency of 10 Hz is used to filter off the 60 Hz noise, the response time will be delayed by 0.1 second. Such a delay will cause inconvenience in the operation of the touch panel.
In conventional modulation/demodulation technique, a carrier of frequency f1 can be used to modulate a voltage or current diving signal to driving rows and columns of the sensing array. Then the sensing signal obtained from the sensing array is demodulated by a demodulation signal of a frequency f2. By doing so, signals of frequencies of (f1+f2) and (f1−f2) are generated. If a low pass filter with a cut off frequency lower than (f1+f2)/2, then the high frequency components can be filtered off, and the low frequency component can be obtained. When f1=f2, the low frequency is the DC term, which is the required sensing signal. The touch event can be known from the DC term. The change of the DC term corresponds to the capacitance or resistance variance due to a touch. However, the carrier used to modulate the driving signal must be chosen to be in a band with low noise. If the carrier is of a band with high noise, SNR of the sensing signal will be degraded. Therefore, the carrier (i.e. modulation signal) must be selected from a low noise band. To know which one of the frequency bands has the lowest noise, it is required to scan and check all the bands. This increases the hardware and time costs.
Traditionally, the touch panel can only extract information of one node (i.e. an intersection of a column and a row) of the sensing array at a time. When the area of the touch panel is huge, the sensing array has a great number of columns and a great number of rows. Accordingly, there may be thousands of nodes in the sensing array. To scan a frame, thousands of measurements are required, so that the response time is long. Therefore, there is a need for a technique for rapidly and efficiently scanning the sensing array to check if there are touch events occurred to the touch panel.